The invention relates generally to a method for data communication between remote nodes and more specifically to a method for configuring a netlist network without the use of a network controller or directory.
Packet communication is a form of data communication whereby segments or packets of data are routed with error checking and confirmation of receipt. Packets may be transmitted directly between a source and destination or relayed via relay stations. Several methods of data packet routing are known.
One method is known as directory-based routing. According to this method the address in the header of a packet is used as an index to a directory of packet routing lists stored in a transmitting or source node. A packet routing list consists of an ordered list of packet node identifiers or call signs that represent a transmission path from the transmitting node to the destination. Packet routing lists must be prepared with knowledge about the connectivity of each node in the network. Directory-based routing schemes require continued maintenance and communication of network interconnection information employed in the directory. Each of these functions drains network resources and this can severely reduce performance in a large network. However, directory-based routing techniques have the advantage of permitting optimization of routing for a wide variety of network parameters, including data delay, throughput, reliability, priority and the like.
Another basic routing technique is the non-directory-based routing technique. In non-directory-based routing, the complexities associated with directory-based routing techniques are avoided. There is no need to store connectivity information for each transmitting node in the network thus reducing the amount of overhead processing that must be done by the network to preserve network connections. However, non-directory-based routing techniques generally do not permit network parameter optimization.
In U.S. Pat. No. 4,939,726, issued to Baran, et al., and assigned to the assignee of the present invention, a non-directory-based routing method and system that permit network parameter optimization are disclosed. According to the method described therein, each stationary node in a network is uniquely identified by absolute geographical coordinates or by a code indicating absolute location in an external coordinate-based reference system (node coordinates). Such absolute geographical coordinates or the equivalent are employed as part of a packet identifier for each packet. A means at each node through which a packet is routed uses the packet destination coordinates and the node coordinates of its neighboring nodes to determine a desired forwarding route of a data packet. The routing may be prioritized according to preselected criteria, preferably achieving optimum forward progress, that is, maximum forward progress using the least amount of power and taking into account characteristics of the system.
Accordingly, the disclosed packet routing method requires no routing directory or table to perform data routing. However, with no routing directory or table, a question arises as to how individual nodes will first become aware of the nodes with which they are able to communicate.
The prior art answer to this question may be best described by the Utilinet network, developed by the assignee of the present invention. In Utilinet, each Node upon power up sends very long bursts of acquisition/synchronization packets on all possible channels on which another node may be receiving. There may be hundreds of possible channels and hundreds of nodes in range. Each node that receives an acquisition/synchronization packet from the newly powered up node, responds with an acknowledgement packet. From these acknowledgement packets, the newly powered-up node constructs a node link list for itself, storing information about all the nodes with which it can communicate.
While this method effectively allows a newly powered-up node to learn about nodes with which it may communicate, it is very consuming of network resources, it is very slow, and it offers a great possibility that a particularly advantageous close node will be missed because it will have been unavailable when the acquisition/synchronization packet was sent by the newly powered up node.
What is needed is a method for allowing new nodes in a network to quickly and efficiently acquire a Node List of nodes with which they can communicate.